package com.eastfair.venueservice.service;

import com.eastfair.boot.service.SuperService;
import com.eastfair.venueservice.dto.ExhibitionSettlementInvoicingDTO;
import com.eastfair.venueservice.entity.ExhibitionSettlementInvoicing;
import com.eastfair.venueservice.vo.ExhibitionSettlementInvoicingVO;

import java.util.List;

/**
 * <p>
 * 业务接口
 * 结算开票记录
 * </p>
 *
 * @author linan
 * @date 2023-02-01
 */
public interface ExhibitionSettlementInvoicingService extends SuperService<ExhibitionSettlementInvoicing> {
    /**
     * do转vo
     *
     * @param model
     */
    ExhibitionSettlementInvoicingVO doToVo(ExhibitionSettlementInvoicing model);

    /**
     * do转vo
     *
     * @param modelList
     */
    List<ExhibitionSettlementInvoicingVO> doToVos(List<ExhibitionSettlementInvoicing> modelList);


    /**
     * 通用查询
     *
     * @param modelDTO DTO
     * @param ids      主键id集合
     * @return list
     */
    List<ExhibitionSettlementInvoicing> list(ExhibitionSettlementInvoicingDTO modelDTO, List<Long> ids);

    /**
     * 通用查询
     *
     * @param modelDTO DTO
     * @param ids      主键id集合
     * @return list
     */
    List<ExhibitionSettlementInvoicing> listOfCache(ExhibitionSettlementInvoicingDTO modelDTO, List<Long> ids);

    /**
     * 保存结算开票记录
     * @param dto dto
     * @return Boolean
     */
    Boolean saveInvoicingRecord(ExhibitionSettlementInvoicingDTO dto);

    /**
     * 更新结算开票记录
     * @param dto dto
     * @return Boolean
     */
    Boolean updateInvoicingRecord(ExhibitionSettlementInvoicingDTO dto);

    /**
     * 查询结算开票记录
     * @param dto dto
     * @return ExhibitionSettlementInvoicingVO
     */
    ExhibitionSettlementInvoicingVO queryInvoicingRecord(ExhibitionSettlementInvoicingDTO dto);
}
